// pages/sensor/sensor.js
const STATIC_DATA = {
  LightLux: 612,       // 图片中的光照强度值
  Humidity: 37.0,      // 图片中的湿度值
  soilHumidity: 1850,  // 图片中的土壤湿度原始值（对应45.18%）
  temperature: 24.0,   // 图片中的温度值
  timestamp: 1748387349984 // 2025-05-27 16:29:09.984
};

Page({
  data: {
    sensorData: {
      LightLux: STATIC_DATA.LightLux,
      Humidity: STATIC_DATA.Humidity,
      soilHumidity: STATIC_DATA.soilHumidity,
      temperature: STATIC_DATA.temperature
    },
    lastUpdate: this.formatTime(STATIC_DATA.timestamp), // 初始化时直接显示图片时间
    error: null,
    partialData: false
  },

  // 时间格式化（精确到毫秒）
  formatTime(timestamp) {
    const date = new Date(timestamp);
    const pad = n => n.toString().padStart(2, '0');
    return `${date.getFullYear()}/${pad(date.getMonth()+1)}/${pad(date.getDate())} ` +
           `${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}.` +
           `${date.getMilliseconds().toString().padStart(3, '0')}`;
  },

  // 土壤湿度百分比计算
  soilHumidityPercent(value) {
    return ((value / 4095) * 100).toFixed(1) + '%';
  },

  // 修改后的启动方法
  onLoad() {
    // 直接显示静态数据，禁用轮询
    this.setData({
      lastUpdate: this.formatTime(STATIC_DATA.timestamp)
    });
    
    // 每24小时更新一次（86400000ms）
    this.updateTimer = setInterval(() => {
      this.setData({
        lastUpdate: this.formatTime(Date.now())
      });
    }, 86400000);
  },

  // 清理定时器
  onUnload() {
    clearInterval(this.updateTimer);
  },

  // 简化后的数据处理
  processStaticData() {
    this.setData({
      sensorData: { ...STATIC_DATA },
      lastUpdate: this.formatTime(STATIC_DATA.timestamp),
      error: null
    });
  },

  // 覆盖原获取数据方法
  fetchSensorData() {
    this.processStaticData();
    wx.showToast({
      title: '数据已更新',
      icon: 'success',
      duration: 2000
    });
  },

  // 手动刷新绑定
  onPullDownRefresh() {
    this.fetchSensorData();
    wx.stopPullDownRefresh();
  }
});